Описание
Задает или возвращает значение, содержащее сведения об источнике
открытого подключения, открытой базе данных, базе данных, используемой в запросе
к серверу или присоединенной таблице. Для объектов Database, новых
объектов Connection, присоединенных таблиц и объектов TableDef,
еще не добавленных в семейство, значение данного свойства доступно для
чтения/записи. Для объектов QueryDef и основных таблиц, данное свойство
доступно только для чтения.
объект.Connect = типБазыДанных;параметры;
Параметры
объект
Объектное выражение, значением которого
является один из объектов, перечисленных в списке
"Применение".
типБазыДанных
Необязательный. Выражение типа
String, определяющее тип базы данных. Для баз данных Microsoft Jet
этот аргумент следует исключить; если при этом задается аргумент параметры, то
вместо аргумента типБазыДанных следует подставить точку с запятой
(;).
параметры
Необязательный. Выражение типа String,
определяющее дополнительные параметры, передаваемые драйверу ODBC или
устанавливаемым драйверам ISAM. Отдельные параметры разделяются точкой с
запятой.
Значение
Значением свойства Connect (подключение) является строка,
образуемая из указателя типа базы данных и произвольного числа параметров,
разделяемых точкой с запятой. Свойство Connect используется для передачи
дополнительной информации драйверу ODBC и некоторым устанавливаемым
драйверам ISAM.
Для выполнения запроса к серверу SQL по
таблице, присоединенной к файлу базы данных Microsoft Jet (.mdb),
необходимо сначала задать в свойстве Connect базы данных присоединенной
таблицы допустимую строку подключения ODBC.
Для объекта
TableDef, представляющего присоединенную таблицу, значение свойства
Connect может состоять из одного или двух компонентов (указателя типа
базы данных и пути к базе данных), каждый из которых должен заканчиваться точкой
запятой.
Путь, как показано в следующей таблице, задает полный путь к
каталогу, содержащему файлы базы данных, и должен начинаться с идентификатора
DATABASE=. В некоторых случаях (для Microsoft Excel и баз данных
Microsoft Jet), имя файла необходимо включать в аргумент пути.
В
следующей таблице перечислены допустимые типы баз данных, а также
соответствующие значения указателя базы данных и формат задания пути к базе
данных, которые следует использовать при определении свойства Connect.
Можно также указать адрес «FTP://путь/etc.» или «HTTP://путь/etc».
В рабочей области ODBCDirect можно использовать только идентификатор
"ODBC".
Тип Указатель базы данных Пример База данных Microsoft Jet [базаДанных]; диск:\путь\имяФайла.mdb dBASE III dBASE III; диск:\путь dBASE IV dBASE IV; диск:\путь dBASE 5 dBASE 5.0; диск:\путь Paradox 3.x Paradox 3.x; диск:\путь Paradox 4.x Paradox 4.x; диск:\путь Paradox 5.x Paradox 5.x; диск:\путь FoxPro 2.0 FoxPro 2.0; диск:\путь FoxPro 2.5 FoxPro 2.5; диск:\путь FoxPro 2.6 FoxPro 2.6; диск:\путь Excel 3.0 Excel 3.0; диск:\путь\файл.xls Excel 4.0 Excel 4.0; диск:\путь\файл.xls Excel 5.0 или Excel 95 Excel 5.0; диск:\путь\файл.xls Excel 97 Excel 8.0; диск:\путь\файл.xls HTML Import HTML Import; диск:\путь\файл HTML Export HTML Export; диск:\путь Текстовая Text; диск:\путь ODBC ODBC; DATABASE=базаДанных; UID=пользователь; PWD=пароль; DSN= имяИсточника; [LOGINTIMEOUT=секунды;] Не используется Exchange Exchange; MAPILEVEL=путьПапки; [TABLETYPE={ 0 | 1 }]; [PROFILE=профиль;] [PWD=пароль;] [DATABASE=базаДанных;] диск:\путь\имяФайла.mdb
Замечания
Если в качестве указателя задать только строку "ODBC;",
то драйвер ODBC выводит на экран диалоговое окно со списком имен всех
зарегистрированных источников данных ODBC, из которых пользователь сможет
выбрать нужную базу данных.
Если для подключения к базе данных требуется
пароль, но он не указан в строке значения свойства Connect, то диалоговое
окно входа будет выводиться на экран при первом обращении к таблице с помощью
драйвера ODBC, а также, если подключение было закрыто и открывается
заново.
Для данных Microsoft Exchange в разделе MAPILEVEL
должен быть задан полный путь к папке (например, "Mailbox - Pat
SmithIAlpha/Today"). Этот путь не включает имя папки, открываемой в виде
таблицы; имя этой папки должно задаваться в аргументе имя метода
CreateTable. В разделе TABLETYPE должно задаваться значение "0"
для открытия папки по умолчанию или значение "1" для открытия адресной книги. В
разделе PROFILE по умолчанию используется текущий профиль.
Для
основных таблиц в базе данных Micorosoft Jet (.mdb) значением
Connect является пустая строка ("").
Значение свойства Connect
объекта Database может быть задано с помощью аргумента источник в методе
OpenDatabase. Проверка значения данного свойства позволяет определить
тип, путь, код пользователя, пароль или источник данных ODBC базы
данных.
Для объекта QueryDef в рабочей области Microsoft Jet
свойство Connect вместе со свойством ReturnsRecords используют для
создания запроса к серверу SQL по протоколу ODBC. Компонент
типБазыДанных в строке подключения имеет вид "ODBC;", а в остальной части
строки содержится информация, необходимая драйверу ODBC для доступа к
данным на удаленном сервере. За более подробным описанием следует обращаться к
документации конкретного драйвера.
Значение свойства Connect
необходимо задавать до значения свойства ReturnsRecords.
Необходимо
иметь разрешения на доступ к компьютеру, на котором находится сервер базы
данных, к которому требуется подключиться.
Пример
В данном примере с помощью свойств Connect и
ReturnsRecords из базы данных на сервере Microsoft SQL Server
отбираются пять книг, имеющих максимальные результаты продаж за год. Если
обнаруживается совпадение в результатах продаж, размер выводящегося списка
увеличивается и выводится сообщение с объяснением причины.
Sub ClientServerX1() Dim dbsCurrent As Database Dim qdfPassThrough As QueryDef Dim qdfLocal As QueryDef Dim rstTopFive As Recordset Dim strMessage As String ' Открывает базу данных, для которой будут ' созданы объекты QueryDef. Set dbsCurrent = OpenDatabase("DB1.mdb") ' Создает запрос к серверу для загрузки данных ' из базы данных Microsoft SQL Server. Set qdfPassThrough = dbsCurrent.CreateQueryDef("ВсеНазвания") qdfPassThrough.Connect = "ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers" qdfPassThrough.SQL = "SELECT * FROM titles " & "ORDER BY ytd_sales DESC" qdfPassThrough.ReturnsRecords = True ' Создает временный объект QueryDef для загрузки ' данных из запроса к серверу. Set qdfLocal = dbsCurrent.CreateQueryDef("") qdfLocal.SQL = "SELECT TOP 5 title FROM ВсеНазвания" Set rstTopFive = qdfLocal.OpenRecordset() ' Отображает результаты запросов. With rstTopFive strMessage = "Первые 5 бестселлеров:" & vbCr Do While Not .EOF strMessage = strMessage & " " & !Title & vbCr .MoveNext Loop If .RecordCount gt; 5 Then strMessage = strMessage & "(В списке " & vbCr & .RecordCount & " книг, так как несколько имеют одинаковые результаты)" End If MsgBox strMessage .Close End With ' Удаляет новый запрос к серверу, созданный только для ' демонстрации. dbsCurrent.QueryDefs.Delete "ВсеНазвания" dbsCurrent.Close End Sub